package br.com.unirio.autocar.modelo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * Funcionario da Autocar
 * 
 * @author Carlos
 * 
 */
@Entity
@Table(name = "FUNCIONARIO")
public class Funcionario implements Serializable
{

    private static final long serialVersionUID = 6927154519687860243L;

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    private Long idFuncionario;

    @Column(name = "CPF", unique = true, nullable = false)
    private String cpf;

    @Column(name = "NOME_FUNCIONARIO", unique = true, nullable = false)
    private String nome;

    @Column(name = "DATA_NASC")
    private Date dataNascimento;

    public Funcionario(String cpf, String nome, Date dataNascimento)
    {
	super();
	this.cpf = cpf;
	this.nome = nome;
	this.dataNascimento = dataNascimento;
    }

    public Funcionario()
    {
	super();
    }

    public Long getIdFuncionario()
    {
	return idFuncionario;
    }

    public String getCpf()
    {
	return cpf;
    }

    public void setCpf(String cpf)
    {
	this.cpf = cpf;
    }

    public String getNome()
    {
	return nome;
    }

    public void setNome(String nome)
    {
	this.nome = nome;
    }

    public Date getDataNascimento()
    {
	return dataNascimento;
    }

    public void setDataNascimento(Date dataNascimento)
    {
	this.dataNascimento = dataNascimento;
    }

    @Override
    public String toString()
    {
	return this.getNome();
    }

}
